Semantics of a Functional BSP Language with Imperative Features
نویسندگان
چکیده
The Bulk Synchronous Parallel ML (BSML) is a functional language for Bulk Synchronous Parallel (BSP) programming, on top of the sequential functional language Objective Caml. It is based on an extension of the λ-calculus by parallel operations on a parallel data structure named parallel vector, which is given by intention. The Objective Caml language is a functional language but it also offers imperative features. This paper presents formal semantics of BSML with references, assignment and dereferencing.
منابع مشابه
Semantics of a Functional Bulk Synchronous Parallel Language with Imperative Features
The Bulk Synchronous Parallel ML (BSML) is a functional language for Bulk Synchronous Parallel (BSP) programming, on top of the sequential functional language Objective Caml. It is based on an extension of the λ-calculus by parallel operations on a parallel data structure named parallel vector, which is given by intention. The Objective Caml language is a functional language but it also offers ...
متن کاملA BSPlib-style API for Bulk Synchronous Parallel ML
Bulk synchronous parallelism (BSP) offers an abstract and simple model of parallelism yet allows to take realistically into account the communication costs of parallel algorithms. BSP has been used in many application domains. BSPlib and its variants are programming libraries for the C language that support the BSP style. Bulk Synchronous Parallel ML (BSML) is a library for BSP programming with...
متن کاملFormal Operational Semantics of a Core Imperative BSP language Application to the proof of a numerical program and a certified optimization
PUB (Paderborn University BSPLib) is a C library supporting the development of Bulk-Synchronous Parallel (BSP) algorithms. The BSP model allows an estimation of the execution time, avoids deadlocks and indeterminism. This paper presents three formal operational semantics for a C+PUB subset language using the Coq proof assistant. A first semantics, for classical BSP operations, has been used to ...
متن کاملAssignment Calculus: A Pure Imperative Language
We undertake a study of imperative computation. Beginning with a philosophical analysis of the distinction between imperative and functional language features, we define a (pure) imperative language as one whose constructs are (inherently) referentially opaque. We then give a definition of a computation language by identifying desirable properties for such a language. We present a new pure impe...
متن کاملHigh level BSP programming: BSML and BS
A functional language called BSML is designed for programming BSP algorithms in direct mode. Its aim is to combine the generality of languages like V or NESL with the predictable performance of direct-mode BSP algorithms. The BSML operations are motivated and described. A -calculus model is outlined, where they are shown to conflict with nested parallelism. Experiments with a library implementa...
متن کامل